Data specifics

  • The Longitudinal Employer Household Dynamics (LEHD) program at the US Census Bureau releases the Origin Destination Employment Statistis (LODES) datasets annually based on employer-employee insurance records.
  • This data file uses data from the Origin-Destination datafile from LEHD. In the origin datafile, census blocks are listed in pairs based on where workers live and work. The original datafile has been aggregated to the county level to allow users to see where Eastern Shore residents are commuting most often. That is, of the Eastern Shore residents who work outside of the Eastern Shore, to which counties do they commute most often?
  • Data presented here are from 2018 and spatial units are based on the 2010 census. As of July of 2021, 2018 is the most recent year for which data are available. The earliest year for which data are available is 2002.
  • Some limitations: jobs counts do not include those working in defense-related industries; the data are prone to imperfect geocoding for certain jobs (jobs for companies with multiple branches are often all coded in the same location); although there are datasets from 2002-2018, these data are not suitable for longitudinal analysis; and student-workers are unlikely to be represented in these data because their jobs are not typically covered by state unemployment insurance.

Where do Eastern Shore residents/workers commute to/from most often?

outsideworkers <- east_lodes_all2 %>% 
  filter(w_county %in% eastfips == F)

outsideresidents <- east_lodes_all2 %>%
  filter(h_county %in% eastfips == F)

Commuter distributions

Eastern Shore residents

These are the percentile calculations for Virginia counties based on the number of Eastern Shore residents who are employed in that county. These calculations do not include the number of Eastern Shore residents who are employed within the Eastern Shore. For example, the number of people who live in Albemarle County and commute to Charlottesville City are not reflected in this calculations. The bar graphs show the most common and least common work-destination counties for Eastern Shore residents who work outside of the Eastern Shore.

quantile(na.omit(outsideworkers$commutersfromRegion), probs = seq(0, 1, by= 0.05))
##   0%   5%  10%  15%  20%  25%  30%  35%  40%  45%  50%  55%  60%  65%  70%  75% 
##    1    1    2    4    4    6    7    9   12   14   16   19   22   26   30   34 
##  80%  85%  90%  95% 100% 
##   46   73  135  260  568

Bottom 25th percentile (the least common work-destinations for Eastern Shore residents)

# Counties that are in the bottom 25th percentile in terms of number of Eastern Shore residents commuters. 
outsideworkers25 <- outsideworkers[which(outsideworkers$commutersfromRegion <= quantile(na.omit(outsideworkers$commutersfromRegion), probs = 0.25)),]
ggplot(outsideworkers25, aes(x = NAME, y = commutersfromRegion))+
  geom_bar(stat = 'identity', width = 0.5) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "County", y = "Eastern Shore resident commuters")

Top 75th percentile (the most common work-destinations for Eastern Shore residents who work outside the Eastern Shore)

# Counties that are in the top 75th percentile in terms of number of Eastern Shore residents commuters. 
outsideworkers75 <- outsideworkers[which(outsideworkers$commutersfromRegion >= quantile(na.omit(outsideworkers$commutersfromRegion), probs = 0.75)),]
ggplot(outsideworkers75, aes(x = NAME, y = commutersfromRegion))+
  geom_bar(stat = 'identity', width = 0.5) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "County", y = "Eastern Shore resident commuters")

Eastern Shore workers

These are the percentile calculations for Virginia counties based on the number of Eastern Shore residents who are employed in that county. These calculations do not include the number of Eastern Shore residents who are employed within the Eastern Shore. For example, the number of people who live in Albemarle County and commute to Charlottesville City are not reflected in this calculations. The bar graphs show the most common and least common work-destination counties for Eastern Shore residents who work outside of the Eastern Shore.

quantile(na.omit(outsideresidents$commuterstoRegion), probs = seq(0, 1, by= 0.05))
##     0%     5%    10%    15%    20%    25%    30%    35%    40%    45%    50% 
##   1.00   1.00   2.00   3.00   4.00   4.00   5.00   6.00   6.40   8.00   8.50 
##    55%    60%    65%    70%    75%    80%    85%    90%    95%   100% 
##   9.00  11.00  15.65  19.00  29.75  34.00  48.10  59.90 117.90 401.00

Bottom 25th percentile (the least common work-destinations for Eastern Shore residents)

# Counties that are in the bottom 25th percentile in terms of number of Eastern Shore workers. 
outsideres25 <- outsideresidents[which(outsideresidents$commuterstoRegion <= quantile(na.omit(outsideresidents$commuterstoRegion), probs = 0.25)),]
ggplot(outsideres25, aes(x = NAME, y = commuterstoRegion))+
  geom_bar(stat = 'identity', width = 0.5) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "County", y = "Eastern Shore workers")

Top 75th percentile (the most common work-destinations for Eastern Shore residents who work outside the Eastern Shore)

# Counties that are in the top 75th percentile in terms of number of Eastern Shore workers. 
outsideres75 <- outsideresidents[which(outsideresidents$commuterstoRegion >= quantile(na.omit(outsideresidents$commuterstoRegion), probs = 0.75)),]
ggplot(outsideres75, aes(x = NAME, y = commuterstoRegion))+
  geom_bar(stat = 'identity', width = 0.5) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "County", y = "Eastern Shore workers")

Mapping commuting patterns

Eastern Shore residents

The map offers another way to visualize where Eastern Shore residents commute most often. The counts of Eastern Shore residents who commute to work within the Eastern Shore are excluded from the legend so as to limit the range and allow for easier discrimination between the surrounding counties, but the number of commuters to each of the localities in the Eastern Shore is available by clicking on the locality.

east_lodes_all2$res <- ifelse(east_lodes_all2$w_county %in% eastfips, NA, east_lodes_all2$commutersfromRegion)
pal <- colorNumeric("plasma", reverse = TRUE, na.color = "lightgray", domain = east_lodes_all2$res)
leaflet(east_lodes_all2) %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = east_lodes_all2,
              fillColor = ~pal(res),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 1, fillOpacity = 0.8, bringToFront = T
              ),
              popup = paste0("County: ", east_lodes_all2$NAME, "<br>",
                             "Number of commuters: ", east_lodes_all2$commutersfromRegion)) %>% 
  addLegend("bottomright", pal = pal, values = east_lodes_all2$res, 
            title = "Number of Eastern Shore <br> region resident <br> commuters", opacity = 0.7)

Eastern Shore workers

The map offers another way to visualize where Eastern Shore workers commute from most often. The counts of Eastern Shore workers who commute from within the Eastern Shore are excluded from the legend so as to limit the range and allow for easier discrimination between the surrounding counties, but the number of commuters from each of the localities in the Eastern Shore is available by clicking on the locality.

east_lodes_all2$work <- ifelse(east_lodes_all2$h_county %in% eastfips, NA, east_lodes_all2$commuterstoRegion)
pal <- colorNumeric("plasma", reverse = TRUE, na.color = "lightgray", domain = east_lodes_all2$work)
leaflet(east_lodes_all2) %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = east_lodes_all2,
              fillColor = ~pal(work),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 1, fillOpacity = 0.8, bringToFront = T
              ),
              popup = paste0("County: ", east_lodes_all2$NAME, "<br>",
                             "Number of commuters: ", east_lodes_all2$commuterstoRegion)) %>% 
  addLegend("bottomright", pal = pal, values = east_lodes_all2$work, 
            title = "Number of Eastern Shore <br> region workers", opacity = 0.7)

County lists

Eastern Shore residents

Below are lists of counties that employ more or less than 25 Eastern Shore residents.

  • Counties that employ 25 or more Eastern Shore residents
(sort(outsideworkers$NAME[which(outsideworkers$commutersfromRegion >= 25)]))
##  [1] "Albemarle"       "Alexandria"      "Arlington"       "Charlottesville"
##  [5] "Chesapeake"      "Chesterfield"    "Culpeper"        "Dinwiddie"      
##  [9] "Essex"           "Fairfax"         "Fauquier"        "Fredericksburg" 
## [13] "Gloucester"      "Hampton"         "Hanover"         "Harrisonburg"   
## [17] "Henrico"         "Hopewell"        "Isle of Wight"   "James City"     
## [21] "King George"     "King William"    "Lancaster"       "Loudoun"        
## [25] "Lynchburg"       "Manassas"        "Mecklenburg"     "Middlesex"      
## [29] "Montgomery"      "Newport News"    "Norfolk"         "Petersburg"     
## [33] "Portsmouth"      "Prince George"   "Prince William"  "Richmond"       
## [37] "Roanoke"         "Roanoke"         "Smyth"           "Spotsylvania"   
## [41] "Stafford"        "Suffolk"         "Virginia Beach"  "Williamsburg"   
## [45] "York"
  • Counties that employ less than 25 Eastern Shore residents
(sort(outsideworkers$NAME[which(outsideworkers$commutersfromRegion < 25)]))
##  [1] "Alleghany"        "Amelia"           "Amherst"          "Appomattox"      
##  [5] "Augusta"          "Bedford"          "Bland"            "Botetourt"       
##  [9] "Bristol"          "Brunswick"        "Buchanan"         "Buckingham"      
## [13] "Buena Vista"      "Campbell"         "Caroline"         "Charles City"    
## [17] "Charlotte"        "Clarke"           "Colonial Heights" "Covington"       
## [21] "Cumberland"       "Danville"         "Emporia"          "Fairfax"         
## [25] "Falls Church"     "Floyd"            "Fluvanna"         "Franklin"        
## [29] "Franklin"         "Frederick"        "Giles"            "Goochland"       
## [33] "Greene"           "Greensville"      "Halifax"          "Henry"           
## [37] "King and Queen"   "Lexington"        "Louisa"           "Lunenburg"       
## [41] "Madison"          "Manassas Park"    "Martinsville"     "Mathews"         
## [45] "Nelson"           "New Kent"         "Northumberland"   "Norton"          
## [49] "Nottoway"         "Orange"           "Page"             "Patrick"         
## [53] "Pittsylvania"     "Poquoson"         "Powhatan"         "Prince Edward"   
## [57] "Pulaski"          "Radford"          "Rappahannock"     "Richmond"        
## [61] "Rockbridge"       "Rockingham"       "Salem"            "Shenandoah"      
## [65] "Southampton"      "Staunton"         "Surry"            "Sussex"          
## [69] "Tazewell"         "Warren"           "Washington"       "Waynesboro"      
## [73] "Westmoreland"     "Winchester"       "Wise"             "Wythe"

Eastern Shore workers

Below are lists of counties where more or less than 25 Eastern Shore workers live.

  • Counties that where 25 or more Eastern Shore workers live
(sort(outsideresidents$NAME[which(outsideresidents$commuterstoRegion >= 25)]))
##  [1] "Albemarle"      "Caroline"       "Chesapeake"     "Chesterfield"  
##  [5] "Dinwiddie"      "Essex"          "Fairfax"        "Frederick"     
##  [9] "Gloucester"     "Hampton"        "Hanover"        "Henrico"       
## [13] "Hopewell"       "Isle of Wight"  "James City"     "King and Queen"
## [17] "King William"   "Lancaster"      "Loudoun"        "Middlesex"     
## [21] "Newport News"   "Norfolk"        "Northumberland" "Petersburg"    
## [25] "Portsmouth"     "Prince George"  "Prince William" "Richmond"      
## [29] "Richmond"       "Spotsylvania"   "Stafford"       "Suffolk"       
## [33] "Virginia Beach" "Westmoreland"   "York"
  • Counties where less than 25 Eastern Shore workers live
(sort(outsideresidents$NAME[which(outsideresidents$commuterstoRegion < 25)]))
##  [1] "Alexandria"       "Alleghany"        "Amelia"           "Amherst"         
##  [5] "Appomattox"       "Arlington"        "Augusta"          "Bath"            
##  [9] "Bedford"          "Bland"            "Botetourt"        "Bristol"         
## [13] "Brunswick"        "Buchanan"         "Buckingham"       "Buena Vista"     
## [17] "Campbell"         "Carroll"          "Charles City"     "Charlotte"       
## [21] "Charlottesville"  "Clarke"           "Colonial Heights" "Covington"       
## [25] "Craig"            "Culpeper"         "Cumberland"       "Danville"        
## [29] "Dickenson"        "Fairfax"          "Fauquier"         "Fluvanna"        
## [33] "Franklin"         "Franklin"         "Fredericksburg"   "Galax"           
## [37] "Giles"            "Goochland"        "Greene"           "Greensville"     
## [41] "Halifax"          "Harrisonburg"     "Henry"            "King George"     
## [45] "Lee"              "Lexington"        "Louisa"           "Lunenburg"       
## [49] "Lynchburg"        "Madison"          "Manassas"         "Manassas Park"   
## [53] "Martinsville"     "Mathews"          "Mecklenburg"      "Montgomery"      
## [57] "Nelson"           "New Kent"         "Nottoway"         "Orange"          
## [61] "Page"             "Pittsylvania"     "Poquoson"         "Powhatan"        
## [65] "Prince Edward"    "Pulaski"          "Radford"          "Roanoke"         
## [69] "Roanoke"          "Rockbridge"       "Rockingham"       "Russell"         
## [73] "Salem"            "Scott"            "Shenandoah"       "Smyth"           
## [77] "Southampton"      "Staunton"         "Surry"            "Sussex"          
## [81] "Tazewell"         "Warren"           "Washington"       "Waynesboro"      
## [85] "Williamsburg"     "Winchester"       "Wise"